Index
- General info
- General information links
- Industry resources pages
- Software
- Microcontrollers
- PIC
- General information
- PIC beginner projects
- PIC computer hardware interfacing projects
- Other project pages
- Programmers
- Programmer accessories
- Software tools
- Intel microcontrollers
- x86 processors
- Basic stamp
- Motorola microcontrollers
- Scenix microcontrollers
- SGS-Thomson microcontrollers
- ARM
- PowerPC
- Atmel microcontrollers
- Hitachi
- Zilog
- Picaxe
- Rabbit controllers
Microprocessor and microcontroller pages
- Von-Neuman Architecure: Microcontrollers based on the Von-Neuman architecture have a single "data" bus that is used to fetch both instructions and data. Program instructions and data are stored in a common main memory. When such a controller addresses main memory, it first fetches an instruction, and then it fetches the data to support the instruction (if such data is needed).
- Harvard Architecture: Microcontrollers based on the Harvard Architecture have separate data bus and an instruction bus. This means that data and instructions are stored into separate memories that are accessed separately.
- CISC (Complex Instruction Set Computer): Almost all of today's microcontrollers are based on the CISC concept. The typical CISC microcontroller has well over 80 instructions, many of them very powerful and very specialized for specific control tasks.
- RISC (Reduced Instruction Set Computer): RISC microcontroller has smaller number of commands than CISC microcontroller, and those commanda are generally simple (do less work per command). By implementing fewer instructions, the chip designed is able to dedicate some of the precious silicon real-estate for performance enhancing features. Benefits are uually s amller chip and lower power consumption. The industry trend for microprocessor design is for RISC designs.
- SISC (Specific Instruction Set Computer): SISC microcontroller instruction set is designed for a special application in mind. At the expense of the more general purpose instructions that make the standard microprocessors (8088, 68000) so easy to use, the instruction set was designed for the specific purpose of control (powerful bit manipulation, easy and efficient I/O, and so on).
- CMOS (Complementary Metal Oxide Semiconductor (CMOS): CMOS the name of a common technique used to fabricate most (if not all) of the newer microcontrollers. CMOS based microcontroller requires much less power than ones made with older fabrication techniques, which permits battery operation. CMOS chips also can be fully or near fully static, which means that the clock can be slowed up (or even stopped) putting the chip in sleep mode. CMOS has a quite high immunity to noise (power fluctuations or spikes), althrough it does not like static electricity spikes (unless special protection is included in the chip).
- EEPROM (Electrically Erasable Programmable Read Only Memory): EEPROM is non-volatile memory is generally use for small amounts of memory that hold a limited number of parameters that may have to be changed from time to time. Many microcontrollers have limited amounts of EEPROM on the chip.
- FLASH (EPROM): FLASH is erasable and reprogrammable non-volatile memory. Flash provides a better solution than regular EEPROM when there is a requirement for large amounts of non-volatile program memory. It is both faster and permits more erase/write cycles than EEPROM.
- Field programming/reprogramming: Using nonvolatile memory as a place to store program memory allows the device to be reprogrammed in the field without removing the microcontroller from the system that it controls. Field-programmable microcontrollers are genrally programmable by connecting the programming device to few pins on the microcontroller and doing the programming while the microcontroller is in place in the circuit board.
- OTP (One Time Programmable): An OTP is a PROM (Programmable Read-Only-Memory) device. Once your program is written into the device with a standard EPROM programmer, it can not be erased or modified. A OTP part usually uses standard EPROM, but the package has no window for erasing (package with window is expensive).
- Software protection: Either by encryption or fuse protection, the programmed software is protected against unauthorized snooping (reverse engineering, modifications, piracy, etc.).
- Brownout Protection: The device is held in reset and will remain in reset when Vcc stays below the Brownout voltage. The device will resume execution (from reset) after Vcc has risen above the brownout Voltage.
- Idle/Halt/Wakeup: The device can be placed into IDLE/HALT mode by software control. In both Halt and Idle conditions the state of the microcontroller remains. RAM is not cleared and any outputs are not changed. Normal operation is rested with wakeup (usually interupt) or reset.
- Idle mode: In IDLE mode, all activities are stopped except on-board oscillator circuitry, watchdog logic, clock monitor and idle timer. Power supply requirements on the microcontroller in this mode are typically around 30% of normal power requirements of the microprocessor. Idle mode is exited by a reset, or some other stimulus (such as timer interrupt, serial port, etc.). A special timer/counter (the idle timer) causes the chip to wake up at a regular interval to check if things are OK. The chip then goes back to sleep.
- Halt mode: In Halt mode, all activities are stopped (including timers and counters). The only way to wake up is by a reset or device interrupt (such as an I/O port). The power requirements of the device are minimal.
- UART (Universal Asynchronous Receiver Transmitter): A UART is a serial port adapter for asynchronous serial communications.
- USART (Universal Synchronous/Asynchronous Receiver Transmitter): A USART is a serial port adapter for either asynchronous or synchronous serial communications.
- Synchronous serial port: A synchronous serial port doesn't require start/stop bits and can operate at much higher clock rates than an asynchronous serial port. Used to communicate with high speed devices such as memory servers, display drivers, additional A/D ports, etc. Can also be used to implement a simple microcontroller network.
- SPI (serial peripheral interface): A SPI is a synchronous serial port. This is commonly used by Motorola in their microcontroller. Many peripheral chips (like A/D converters) exist which can be connected to a SPI port.
- SCI (serial communications interface): A SCI is an enhanced UART (asynchronous serial port).
- I2C bus (Inter-Integrated Circuit bus): The I2C bus is a simple 2 wire serial interface developed by Philips. It was developed for 8 bit applications and is widely used in consumer electronics, automotive and industrial applications. In addition to microcontrollers, several peripherals also exist that support the I2C bus.
- MICROWIRE/PLUS: MICROWIRE/PLUS is a serial synchronous bi-directional communications interface. This is used on National Semiconductor Corporation's devices (microcontrollers, A/D converters, display drivers, EEPROMS, etc.).
- CAN (Controller Area Network): CAN is a mutiplexed wiring scheme that was developed jointly by Bosh and Intel for wiring in automobiles. The CAN specification seems to be the one that is being used in industrial control both in North American and Europe.
- J1850: J1850 is the SAE (Society of Automotive Engineers) multiplexed automotive wiring standard that is currently in use in North America.
- A/D (Analog to Digital Conversion): Converts an external analog signal (typically relative to voltage) and converts it to a digital representation. Microcontrollers that have this feature can be used for instrumention, environmental data logging, or any application that lives in an analog world without using an external A/D converter IC for this.
- D/A (Digital to Analog) Converters: This feature takes a Digital number and converts it to a analog output.
- Pulse width modulator: A controllable pulse train is generated at microcontroller output. This is often used as a digital-to-analog conversion technique: A pulse train is generated and regulated with a low-pass filter to generate a voltage proportional to the duty cycle.
- Interrupts: On receipt of an interrupt, the controller suspends its current operation, identifies the interrupting peripheral, then jumps (vectors) to the appropriate interrupt service routine. After this routine is executed, normal program execution continues. Most microcontrollers have at least one external interrupt, which can be edge selectible (rising or falling) or level triggered. Both systems (edge/level) have advantages. Edge - is not time sensitive, but it is susceptible to gitches. Level - must be held high (or low) for a specific duration (which can be a pain - but is not susceptible to glitches).
- Vectored interrupts: When an interrupt occurs, the hardware interrupt handler automatically branches to a specific address depending on what interrupt occurred.
- Watchdog timer: A watchdog timer provides a means of graceful recovery from a system problem. If the program fails to reset the watchdog at some predetermined interval, a hardware reset will be initiated.
- Clock Monitor: A clock monitor can shut the microcontroller down if the input clock is too slow.
- Resident program loader: Loads a program by Initializing program/data memory from either a serial or parallel port. Convenient for prototyping.
- Monitor: A monitor is a program installed in the microcontroller which provides basic development and debug capabilities.
General info
Microprocessors are essential to many of the products we use every day such as TVs, cars, radios, home appliances and of course, computers. Microprocessors are the core of a computer, but they are used alsoin many other applications (for example embedded devices). The biggest chunk of the digital business comes from processors butprocessors are only 2% of all semiconductors market. Thirty percent of the world's semiconductor sales come from microprocessors, DSPs, microcontrollers, and programmable peripheral chips. A tiny 2% sliver of the market is all that processors contribute, but they generate a whopping 30% of the dough. There is difference how different microcontrollers are sold. In the processor arena, it's the 4-bit microcontrollers that are the cheapest.The small 8-bit chips (little old 8051s and 6805s) are the best-selling type of processor. This kind of smallprocessors are found embedded in a wide varierty of electronics devices, ranging from small gadgets and home equipment control to car electronics.Those small controllers areflying off the shelves at the rate of more than 3 billion new chips per year(more than half of the microprocessor sale per units). But they're not very expensive, so they're less than 15% of the fiscal tonnage.At the opposite end of the scale are-big surprise-32-bit microprocessors. This category includes PC processors like Pentium 4 and Athlon, of course, but also dozens of embedded processors such as PowerPC, 68k, MIPS, and ARM chips. Most (98% or so) 32-bit processors are used in embedded systems, not PCs. ARM-based chips alone do about triple the volume that Intel and AMD peddle to PC makers. PC processors are only 2% of all processors in volume, but PC processors are 50% of all processor sales in money. This means that PC processor makes 15% of all the money made from every type of semiconductor from every company everywhere in the world. The reason for this is that PC processors are expensive (modern Intel CPU can cost $300) and they are sold in large volumes.Taken as a whole, the average price for a microprocessor, microcontroller, or DSP is just over $6. Most microprocessors are much cheaper than that, but then there is always those expensive ones in the market that pull the average price up.That is the the DSP deal? DSP average price is around $6 per chip, but that includes a lot of inexpensive hard-wired modem chips and the like. But the market is not huge, because the world spent less than $5 billion on DSPs on year 2002.So why the huge difference between microprocessors' effect on the economy and their comparatively tiny numbers? That is where programming comes in. The programming gives the functionality to those device. Programming work provides a lot of the value to micprocessor markets.Technically CPU chips aren't any harder to make than DRAM chips. They don't cost more to make - they're just priced that way.When you select one processor for your product, you can't swap out your CPU for just any other processor. There are manyu different microprocessors around. Different microprocessors have different kind of features (some are better for some tasks than some other) and different kind of instruction sets. There are to common classifications of what kind instruction set the processor has:CISC (Complex Instruction Set Computer) means that the processor has a lasge set of instructions that perform complex tasks and RISC (Reduced Instruction Set Computer) means that that the processor has quite small set of instructions that they do less per command (complicated operations are done by combining many simple instructions to perform a complicated task). Some processors are CISC-based (like x86, Z80etc.), while other are RISC-based (like Sparc, ARM, MIPS, PowerPC).What is then a microprocessor ?A common example of a general purpose computer, would be a typical PCclone. The x86 processor in this machine is considered as a general purpose microprocessor, since the machine is typically used forgeneral purpose computing (computing, word processing, web browsing, multimedia etc.).What is then a microcontroller ? A microcontroller is by definition a is a computer on a chip. It includes all the necessary parts (including the memory) allin one IC. You just need to apply the power (and possibly clock signal) to that device and it starts executing the program programmed to it. A microcontroller generally has the main CPU core, ROM/EPROM/EEPROM/FLASH, RAM and some accessry functions (like timers and I/O controllers) allintergated into one chip. The original ideabehind the microcontroller was to limit the capabilities of theCPU itself, allowing a complete computer (memory, I/O, interrupts,etc) to fit on the available silicon real estate. Microcontrollers are typically used where processing power isn't so important. More important are generally compact construction, small size, low power consumption and that those chips are cheap.For example controlling a microwave oven is easily accomplished with the smallest of microcontrollers. There are countless number of small electronic devices which are nowdays based on microcontroller. A modern home can include easily tens or hundreds of microcontrollers, asalmost every modern device which has electronics has a microcontroller (or more than one) inside.A special application that microcontrollers are well suited for isdata logging. Stick one of these chips out in the middle of a cornfield or up in a ballon, and monitor and record environmentalparameters (temperature, humidity, rain, etc). Small size, low powerconsumption, and flexibility make these devices ideal for unattendeddata monitoring and recording. The automotive market is propably the most important single driving force inthe microcontroller market, especially at it's high end. Severalmicrocontroller families are specifically developed for automotive applications. With the continuing process of high scale integration continuing at a dizzyingpace, many standard architecture processors are turning up asmicrocontrollers. Simply (and naively stated) an embedded controller is a controllerthat is embedded in a greater system. A rigid definition isdifficult if not impossible to formulate. You could say that an embedded controller is a controller (orcomputer) that is embedded into some device for some purpose otherthan to provide general purpose computing. Embedded controllers adhere to a philosophy similarto that of microcontrollers, high integration. By including [many]features necessary for the task at hand, an embedded controller(processor) can be a powerful yet cost effective solution. Where a microcontroller [almost by definition] is a computer on achip, an embedded controller might need external components before itis considered a "computer." This is especially true regarding RAM. Embedded processors come in many flavors and varieties. Depending onthe power and features that are needed, you might choose a 4, 8, 16,or 32 bit microcontroller. Standard microprocessors (such as theMotorola 68000 or National 32032) are frequently used as powerfulembedded controllers. In addition, specialized processors areavailable which include features specific for communications,keyboard handling, signal processing, video processing, and othertasks.When talking about embedded processors, you might wonder what is embedded system where those are used. Usually an embedded system is a system whereby the user is not givendirect access to any level of code, they are to treat the entire system as ablack box, press a button and some action occurs."Embedded" has a legalistic definition as "being supplied as a componentpart of a larger system". Most embedded computers don't "look like" computers.Although generally PC's are not defined as embedded systems, however if youremove the case, they can become embedded systems. Foe example many embedded industrial systems are based on PC hardware: a x86 motherboard (different form factor of course) with out some ofthe extra stuff like PCI slots etc, mostly everything is onboard that'sneeded. Embedded programming implies programming a system in which resources are limited, and which may need to run without manual intervention, so all errors need to be handled. Simplest of such kind of error handler just restarts the system if things go wrong. Many embedded systems use watchdog systems to handle errors like software crash (watchdog just resets the system of software stops notifying watchdog timer that is running properly).Real-time just implies that time is a critical factor in any function of theembedded system.Real-time implies a system in which if a single event is missed or over-runsit's time slot the whole system has failed (possibly with disastrousresults), so this must not be allowed to happen. Hard real time is usually taken to mean that any missedtime constraint is a failure. Soft real time is taken to mean that somemissed deadlines are acceptable, or at least won't endanger life, property,or cause loss of money. An automatically controlled airplane is a situation of hard-realtime, if ittakes tooo long for the system to reacht, the plane will crash. PC a game could be considered real-time, if youdon't get the next frame within xx mS then you will not be appreciativebut nobody gets hurt or anything damaged (hence, soft real-time).Some common terms related to the microprocessors and microcontrollers:
- EmbeddedRelated.com
- AirBorn Electronics Circuit Design Library - microcontroller circuits Rate this link
- alt.comp.hardware.homebuilt FAQ Rate this link
- Analog-input circuit serves any microcontroller - This simple ADC is suitable for getting analog signals into a purely digital microcontroller. Using just five surface-mount parts, you can assemble it for less than 50 cents (1000), which is approximately half the cost of a single-chip-ADC approach in the same volume. Moreover, this design takes only one pin from the microcontroller to operate. Rate this link
- armory.com anonymous FTP archives - lots of microcontroller information, 68HC11, 8048, 8051, 8085, 80x86 Rate this link
- A Set of Standard Microprocessor Programming Cards Rate this link
- Born to Fail - Systems fail, and sometimes no one is around to reset them before something worse happens. That's why watchdog timers matter. Rate this link
- Configurable processors: Stir it up - Configurable processors can be a cost-effective ingredient in your design. But they may also be an evolutionary abstraction. Rate this link
- Conventional DSP or configurable microcontroller: which way to go? - Engineers of DSP-based systems are in a quandary over whether to use a conventional DSP or one of the new configurable microcontrollers. The technical challenges of MP3 decoding provide the basis for comparing traditional DSPs with upstart configurable micros. Rate this link
- EDN's 27th Annual Microprocessor/Microcontroller Directory - year 2000 version of the EDN Microprocessor/Microcontroller Directory Rate this link
- EDN's 28th annual microprocessor / microcontroller directory - year 2001 version of the EDN Microprocessor/Microcontroller Directory Rate this link
- EDN's 29th annual microprocessor / microcontroller directory - year 2002 version of the EDN Microprocessor/Microcontroller Directory Rate this link
- Electrical/Electronics Project Designer's Page - Electrical and Electronical Applications prepared by using Assembler Programming Language. Motor Control,Serial Communications,Temperature Control,Basic Assembler Applications,I/O Ports Design,Timer and ADC. Rate this link
- EmbeddedLinks - Portal to engineering and management resources about embedded systems and microcontrollers on the Internet Rate this link
- Embedded News Digest - Your Embedded System and Microcontroller News Source, free monthly newsletter on embedded systems and microcontrollers industry events Rate this link
- Embedded Processor and Microcontroller primer and FAQ - This article is a primer and general FAQ about embedded processors and microcontrollers. Included is a collection of information sources. Rate this link
- Embedded Processor and Microcontroller primer and FAQ Rate this link
- Embedded Systems Glossary Rate this link
- Embedded TCP/IP: a smorgasbord of options - Internet-connected devices are not always more intelligent than stand-alone devices. Connectivity means more intelligent device management. Rate this link
- Exploring the anatomy of multiprocessor designs - Parallel processing can improve performance, but it can also simplify your design by better reflecting the natural partitioning of your application behavior and development resources. You can define multiprocessor designs as systems that perform functions and tasks among multiple processors that coordinate and communicate with each other to deliver a coherent behavior. A multiprocessor application is more complex than a single-processor design. It requires additional programming for housekeeping and coordinating functions, and it is more complex to debug, because of processor interactions that are absent in single-processor architectures. Rate this link
- Fear and loathing of porting embedded software - Using legacy software in your project can minimize your development time because you can avoid duplicating effort for design specifications, test cases, and performing implementation trades from earlier development efforts. However, legacy software, even when written in a portable language, often requires you to perform some porting. Software porting is the engineering process that transforms software so that it will operate within a new target environment. Successful software porting demands the same engineering discipline as any development project. Why, then, does a published, general, standard methodology appear to be nonexistent? Rate this link
- EDN Microprocessor/Microcontroller Directory - Follow the silicon-bread-crumb trail in this directory to find the perfect device for your project. Includes parametric tables of 8-, 16-, 32-, and 64-bit microprocessor/microcontroller devices and cores, plus a summary of each active vendor's offerings and activities. This is a link to the newest release of this yearly publication on-line version. Rate this link
- General-purpose ?Ps for DSP applications: consider the trade-offs - using general-purpose processors instead of dedicated DSPs for DSP-intensive applications has some advantages, as well as some pitfalls Rate this link
- High-Availability RTOSes: A Buyer's Guide - Attention is turning to the real-time operating system (RTOS) as hardware system OEMs focus on 99.999% reliability. Rate this link
- History of the Microprocessor - short list of PC processors from 8068 to P7 Rate this link
- Keeping Embedded System Design Projects on Time and Close to Budget - article by Ken Crater, published in December 1999 I&CS (PDF file) Rate this link
- Links to some companies selling microcontroller development tools Rate this link
- Logical combination? - Convergence products need both RISC and DSP processors, but merging them may not be the answer. The mainstreaming of signal-processing applications, along with the growing surplus of conventional processing power, turned RISC and DSP into competitors for the same sockets. Rate this link
- Microprocessor instruction set cards Rate this link
- MicroControllers and Electronics page Rate this link
- Power-On Reset (POR) Circuit - One of the trivial circuit in hardware design is the power-on reset circuitry. You can find it in practically any microcontroller board. Rate this link
- Profit with plug-in processors - Off-the-shelf module computers let designers skip the most complex portion of embedded-product design and simplify future upgrades. Module computers package the CPU, mass storage, and processor-peripheral interfaces on a replaceable mezzanine card. Replacing the CPU and peripherals allows designers to update and retrofit embedded devices without product redesign. Rate this link
- Pushbutton switch controls power supply and ?C - switching handheld units on and off with a pushbutton switch is a desirable feature but needs some thinking Rate this link
- Real-Time Encyclopedia - web site bout real-time issues Rate this link
- Steve Walz's Electronics FTP site - large FTP archive, microcontrollers and electronics documents Rate this link
- Sulautetun j?rjestelm?n suunnittelu: Veneen digitaalisen lokin mittariosa Rate this link
- Tiny and Inexpensive Programmable Controllers for Quick Project Development Rate this link
- Virtual programmers build embedded code - With shrinking software-development schedules and a growing shortage of skilled programmers, embedded-system designers are adopting automatic-code-generation tools to stay ahead of their competition. Rate this link
- EDN's 2005 Microprocessor/Microcontroller Directory - Follow the silicon-bread-crumb trail in this directory to find the perfect device for your project. Includes parametric tables of 8-, 16-, 32-, and 64-bit microprocessor/microcontroller devices and cores, plus a summary of each active vendor's offerings and activities. Rate this link
- EmbeddedRelated.com - EmbeddedRelated.com is a place for Embedded Systems Developers and other profesionnals in the field to browse Comp.Arch.Embedded, participate to Embedded Systems Discussion Groups, find a good Embedded Systems Book and find a great internet Embedded Systems Resource. Rate this link
General information links
- Electronic Engineers' Toolbox - Embedded Systems, DSP, Real-Time Computing and Industrial Computing Rate this link
- Interfacing circuits & C code Rate this link
Industry resources pages
- Embedded Linux Kernel Subset - a Linux option for 8086 and 80286 class PC's and single board microcomputers Rate this link
- Katix Real Time OS - for X86, 68xxx and 68hc11 Rate this link
Software
- prefix 12 is for chips with 8 pins
- prefix 16 is for 12-bit and 14-bit core chips with more than 8 pins
- prefix 18 is for 16-bit core chips
- the letter after number tells the memory type: C is for EPROM (OTP or windowed (except 16C84 that has EEPROM), F is for flash chips and JW is for chips that have windowed EPROM (UV erasable)
- The number (2 or 3 digits) after this letter identifies specific chip version
- Improved new version of certain PIC types are identified by appending an A to the type (A chips are in most aspects identical to their non-A predecessors, but there can be some differences usually on chip programming)
- HS: high-speed crystal (4 .. 20 MHz)
- XT: medium-speed crystal (200 kHz .. 4 MHz)
- LP: low-power 32768 Hz .. 200 kHz watch-style crystal
- RC: (external) capacitor + resistor
- piclist Discussion Group
- David Tait's Links to Internet PIC Resources Rate this link
- DonTronics Home Page - PIC microcontroller resources Rate this link
- Free Singlechip group - microcontroller articles, information and construction projects Rate this link
- Getting Familiar with PICs and PICBASIC -?a 19 page booklet in pdf format Rate this link
- Getting Started with PICs - Microchip's PIC16C84 is a general-purpose, low-cost, 18pin, 8bit microcontroller with the capability of in-system software downloads to its on-chip EEPROM memory. What you will need to do is build a very simple, low cost parallel port programming adapter to connect your PC to your target board, enabling the PC to re-program your PIC16C84 in-system. Rate this link
- Introducing the Microchip PIC - Many people would like to get started with microcontrollers, but don't know how to begin. That's what this page is all about -- how to get started. Rate this link
- Introducing the Microchip PIC18F252 - Many people would like to get started with microcontrollers, but don't know how to begin. That's what this page is all about -- how to get started. With a microcontroller you can do things that would be difficult to do with discrete logic. Rate this link
- Low-power operation is a state of mind - Achieving low power requires a certain mindset. The straightforward way to turn the heat down is to re-evaluate clock sources or to reduce the power-supply voltages. Another equally effective approach is to operate with a partial or a complete controller/processor-shutdown mode. But if you combine these techniques with execution time and a little intelligence, you can easily tackle your most challenging power-conservation problems. Rate this link
- Microchip - company which makes PIC microprocessors Rate this link
- Microchip Net resources - very good link topic on PIC microcontrollers and related topics Rate this link
- Moving a Design from the PIC16C84 to a PIC16C554, 556 or 558 - This discussions focuses how to move a design from a 16C84 platform to a 16C55X processor. The reason to do this is that 16C55X one time programmable devices (OTP) are very cheap. Rate this link
- Myke Predko's PIC and Microcontroller Reference Page - information about PIC book and some useful resources Rate this link
- PIC16/17 Microcontroller & BASIC Stamp Rate this link
- PIC16C84 Features Rate this link
- PIC Links - links to lots of useful information Rate this link
- PIC Programming Home Page - informaiton on PIC microcontroller, pic projects and basic electronics Rate this link
- Pic & Linux - also available Rate this link
- Which programmer to choose? Rate this link
- Pic discussion group at EmbeddedRelated.com - A discussion group for the PICMicro microcontroller. Also called the Microchip PIC, this list is dedicated to the use and abuse of this fine, simple, microcontroller. Rate this link
- Starting with PICmicro controllers - So you think you want to start using PIC microcontrollers? Read on! This page will offer advice on how to proceed. This page is intended for someone who wants to start using PIC microcontrollers but has no prior experience in microcontrollers, has more time than money (hobbyist or small-scale professional), is more interested in experimenting and building prototypes than in assembling large series and has basic knowledge of both electronics and programming. Rate this link
- What is a PIC BASIC Compiler, and what can it do for "ME" - This is one question we answer more than any other, and a very good one. This page will help you understand what the PicBasic compiler is, and why it's worth every penny of the initial investment. This page describes how several common tasks like serial communications, pulse generation and millisecond delay can be implemented with PicBasic and with PIC assembler. Rate this link
General information
- CTEC1630 Computer Systems Design Home Page - Student projects and laboratories using PIC microcontroller. Rate this link
- First PICMicro Project Rate this link
- Getting Started with PIC Programming - Here are 4 steps to help you get started with PIC programming. Rate this link
- Interfacing & Programming PIC16F84 in C - Learn and experiment yourself to see how to write a simple program using C language for the PIC16C84 Rate this link
- Your first PICMicro Project Rate this link
PIC beginner projects
- Bit-Banging Serial Interfaces for the Low-End and Mid-Range PICMicros Rate this link
- Build your own "2-Wire LCD Interface" using the PIC16C84 microcontroller Rate this link
- DIY MIDI Controllers using PIC Microcontrollers and Basic Stamps - describes how to generate MIDI signals and how to read sensors like potentiometers and piezo transducers Rate this link
- PIC - PS/2 mouse interfacing and communication - contains PC mouse protocol information and some examples how to interface it using PIC microcontroller Rate this link
- ISAPIC - ISA bus to PIC microcontroller interfacing idea Rate this link
- Keyboard data-acquisition system is cheap and simple - PIC12C67 based 8 bit ADC circuit which connects to PC keyboard and output PC keyboard keypresses Rate this link
- Microcontroller discerns addresses in RS-485 systems - One of the many benefits of using the RS-485 data-interface system, unlike the RS-232 system, is its ability to implement multidrop networks. Such networks usually carry 9-bit data words, in which the ninth (parity) bit identifies each word as address or data. When using small microcontrollers without a hardware UART, designers must decide whether to add an external hardware UART or to configure a UART in software. Ths circuit uses a PIC16F84 microcontroller and MAX3100 UART to impelement 256 address RS-485 bus transceiver. Rate this link
- PIC Specific RS232 IO - There has been a lot of confusion on how the RX or TX pins should be set with reguard to TRIS on the PICs with hardware USARTs especially with reguard to makeing them work in interrupt mode. This document is an overview to the suitable technologies specific to different PIC models. Rate this link
- PS/2 Mouse/Keyboard Protocol - This article describes the protocol and shows how to implement it using PIC 16F84. Rate this link
- Synchronizing controller detects baud rate - a simple and inexpensive implementation using an eight-pin 12C508 controller (Microchip Technology, Chandler, AZ) provides both bit-rate detection and a synchronous, appended-clock output from an asynchronous input-data stream. Rate this link
- Using an LCD's User Defined Character Generator for Graphics Animation - project based on PIC, PICbasic and Hitachi 44780 LCD Rate this link
PIC computer hardware interfacing projects
- DIY MIDI Controllers using PIC Microcontrollers and Basic Stamps Rate this link
- Electronic Altimeter - This design uses a PIC16F877 to measure the output of a temperature sensor and an absolute pressure transducer to measure altitude. Rate this link
- Eric Smith's PIC Projects - closed caption decoder, video, DTMF, monitor tester, remote control Rate this link
- Kelly Kohls, N5TLE Homepage - DMX 512 Light control circuits including 16 channel 0-10volt demultiplexer based upon a PIC16C76, also a Analog to DMX512 multiplexer based upon a PIC16F876 Rate this link
- Make noise with a PIC - Building a stable noise generator for audio-frequency purposes requires only a few components. This circuit relies on linear-feedback shift registers and some simple software. Rate this link
- Projects for Students and Hobbyists Rate this link
- Mechanically Scanned LED Clock "Propeller Clock" - This is a clock circuit using moving LED display. Seven light emitting diodes spin, giving the illusion of numbers in the air. Rate this link
- Microchip Net resources - PIC project link list Rate this link
- MIDI-to-analog switch trigger box on PIC16C84 - a 16C84 program to receive MIDI note messages and activate trigger outputs for various applications Rate this link
- Mobile robot Based on PIC16C84 and Posit 1.0 - This page contains the robot software, circuits and a very short description. Rate this link
- Myke Predkos' PICMicro Button Debounce Article Rate this link
- NCO technique helps ?C produce clean analog signals - method for producing an analog voltage from one digital output of a PIC microcontroller Rate this link
- Ohjelmia 16f84:j??n - software for PIC 16F84, text in Finnish Rate this link
- PIC 16C63 Midi controlled Light dimmer Rate this link
- PIC Based Serial Port Servo Controller - This Servo Controller uses a PIC16F84 microcontroller from Microchip to drive servo motors and digital outputs. It receives commands from a host computer via a standard RS232 serial interface. This circuit supports 4 servo motors and 4 digital outputs. Circuit can be modified for 8 servo motors. Rate this link
- PIC C and Assembler Resources - Examples for use with the C2C or CCS Compilers Rate this link
- PIC debugging routine reads out binary numbers - The "burn and learn" method of firmware development excludes an in-circuit emulator and a serial port. With this method, it is common practice to use spare I/O pins on a C as a debugging aid. By strategically placing instructions to set and clear these I/O pins in the code and then observing the pins with a scope, you can obtain limited real-time information about the execution of the code. Rate this link
- PIC / Ubicom Dev'rs - communication circuits using PIC, encryption, interfacing, Internet applications using PIC and many other PIC circuit Rate this link
- "Pinewood Derby" style race timer Rate this link
- PIC16F84 Based Morse Code Reader - takes sound input and outputs test to LCD screen Rate this link
- PIC16C84 stuff - micro kernel, robot and C compiler for Windows Rate this link
- Pick?a?Peck?of PIC's?Library - many PIC project documents Rate this link
- PIC Microcontroller Projects - collection of projects and tutorials Rate this link
- PIC plots pixels sans controller - grahical output from PIC to grahical LCD screeen Rate this link
- PIC-Tock - video clock using a PIC16C61 Rate this link
- PIC Vacuum Fluorescent Display Interface Rate this link
- Picxie - Animated LED Signboard - check also Rate this link
- Pseudorandom digital white noise generator for PIC series - designed for PIC12C508 Rate this link
- Simple logic analyzer pushes microcontroller to its limit - A simple logic-analyzer design is compatible with all versions of Windows and pushes the PIC 18C252 chip to its speed limit to achieve a 1-MHz sampling rate. Rate this link
- The Official EPE PIC Source Code Page - all the EPE PIC Projects source code is available here Rate this link
- Use a PIC for automatic baud-rate detection - Automatic baud-rate detection is desirable in many applications. Microchip's (www.microchip.com) standard USART module that the company embeds in most of its PIC microcontrollers lends itself to a simple and easily implemented automatic baud-detection scheme. This example is designed for PIC18FXX2 in mind. Rate this link
- Use power line for baud-rate generation - One cost-saving measure associated with 8-bit embedded microcontrollers is to use a resistor-capacitor oscillator. These RC oscillators are inexpensive, but the trade-off is low stability with temperature and voltage. In these cases, you can find a low-frequency, stable clock source and use it to calibrate a baud-rate generator or event timer. One source of a low-frequency, stable clock is the line voltage. This voltage is a good source 50- or 60-Hz frequency that you can easily interface to the microcontroller's 16-bit timer. By counting CPU cycles for a half cycle of the external clock, you can determine the frequency of the microcontroller's internal RC oscillator and calibrate the baud rate. Rate this link
- Using PWM to Generate Analog Output - Pulse Width Modulation (PWM) modules, which produce basically digital waveforms, can be used as cheap Digital-to-Analog (D/A) converters only a few external components. A wide variety of microcontroller applications exist that need analog output but do not require high resolution D/A converters. Some speech applications (talk back units, speech synthesis systems in toys, etc.) also do not require high resolution D/A converters. For these applications, Pulse Width Modulated outputs may be converted to analog outputs. Conversion of PWM waveforms to analog signals involves the use of analog low-pass filters. This application note describes the design criteria of the analog filters necessary and the requirements of the PWM frequency. Later in this application note, a simple RC low-pass filter is designed to convert PWM speech signals of 4 kHz bandwidth. Rate this link
- ?C-based one-shot has wide range - ?C-based, digitally programmable, monostable multivibrator based on PIC16C54 Rate this link
- Yusoft PIC Microcontroller Links - Microcontroller projects, links and information Rate this link
Other project pages
- Build Your Own Programmer for the PICMicro with the "ELCheapo - serial port programmer for PIC 16C84 Rate this link
- Classic PIC 16F84 Programmer - The design is by David Tait. This circuit connects to PC parallel port. There is circuit diagram, copper layout and programmign software (DOS and Windows). Rate this link
- Easy PIC Programmer - This page describe how to make the most easy PIC Programmer. The Programmer do need external power supply (stabilized). And it use only one resistor. This circuit connects to PC serial port and programs PIC 16C84. Rate this link
- "Fluffy" - A Scenix (and PIC) Programmer - a complete hardware and software system that allows you to use a 16F84 to program a SX microcontroller Rate this link
- NOPPP, the "No-Parts" PIC Programmer - NOPPP is a simple programmer for PIC16C84, PIC16F83, and PIC16F84(A) microcontrollers. It attaches to the parallel port of a PC. Plans were published in Electronics Now Magazine, September, 1998, and are included in shorter form in the downloadable ZIP file. Rate this link
- Minimized PIC16C84 Programmer - connects to PC parallel port Rate this link
- P16PRO PIC and PICALL programmer offical Home Page - programs PIC12C5xx, 16F84 and many other PIC models Rate this link
- P16PRO & PICALL PIC programmers - You can use P16PRO, David Tait's or almost all other printer port based hardware schemes by using P16PRO's Hardware setup feature. PICALL hardware was designed and optimized for programming PIC microcontrollers,but it is also possible to program other devices with it. With new software and PICALL hardware you can program ATMEL's AVR microcontrollers,Scenics SX and serial EEPROMS. Rate this link
- Pic24C?programmer - a Pic 16C/F84 ,24Cxx Combi programmer Rate this link
- PIC-Programmer 2 for PIC16C84 etc. Rate this link
- PIC 16c84/16f84/24c16 programmer for Linux (& DOS) - It is possible to program PIC's and eeproms with linux. There exists a couple of programs for parallel port programmers, and one for both serial and parallelport programmers (prog84). This is an improved prog84 to work better with Intel hex files and added the ability to read the PIC and dump the contents in an 8 or 16-bit intel hex file. This siftware with suitabke circuit programs 16c84/16f84, 16C6x/7x/923/924, 16f87x and 24c16 (and maybe 24c65/24c08?). The software comes with source code. Rate this link
- PIC and serial EEPROM programmer - programs 16C84 and 8 pin serial EEPROMs, zipped file Rate this link
- PIC-Programmer 2 for PIC16C84 etc. - This Programmer is powered by the RS-232 and programs PIC12C5XX, 12C67X, 24CXX, 16C55X, 16C61, 16C62X, 16C71, 16C71X, 16C8X, 16F8X and ISO-CARD's with ASF. This circuit uses DOS progeramming software (runs also under Windoes). This page also contains also links to some other very simple programmers. Utilities now work on Dos, Windows 3.1, Windows 95, Windows 98 and are expected to work on all other operating systems. Rate this link
- PP06 PIC Programmer Software - PP06 is an open-source Production programmer for Microchip's PIC micros. Specifically designed for use in factory in-circuit programming, and development of master/slave systems it supports many pics,and is easily extended to different hardware. This softare programs most 12&14 bit PIC's, flash and eprom (78 types). Software supports various hardware (all David Taits original hardware types + others). Software is available for Windows, Linux (command line and KDE), and DOS. Rate this link
- The PIC programmer II by Jens Madsen - This circuit programs PICs 12C5XX, 12C67X, 24CXX, 16C55X, 16C61, 16C62X, 16C71, 16C71X, 16C8X and 16F8X, software is available for Dos and Linux Rate this link
- Wouter's In-System Programmer for the PIC 16f84 - 16x84-based in-circuit 16x84 production programmer Rate this link
Programmers
- C2C Compiler - free PIC 16C84 C compiler for Windows 95 Rate this link
- C2C++ C/C++ compiler for PICmicro and Scenix Rate this link
- CC5X C Compiler - C compiter for PIC, free edition available Rate this link
- Comparison macro for PIC processors - If you ever get tired of trying to remember the subtleties of the "carry" status bit every time you want to use the subtract instruction to perform a comparison, the macro in Listing 1 can help. The macro contains all of the nuances, once and forever. Rate this link
- Crownhill PICBASIC - PICBASIC Compiler allows you to write your code in the simple to learn, yet powerful, language of BASIC. This pages has links to download free PICBASIC Lite and information on commercial PIC Basic Pro compiler. Rate this link
- GNUPIC - an entire suite of PIC development tools freely available in source code Rate this link
- High Tech Horizon's filelibrary - PIC utilities and source code Rate this link
- IC-Prog Prototype Programmer - This software package allows you to program very many types of serial programmable Integrated Circuits using Windows 95/98/NT/2000/ME. This software programs 12C508, 16C84, 16F84, PIC 16F877, 24C16, 24C32, 93C46, 90S1200, 59C11, 89C2051, 89S53, 250x0, PIC, AVR , 80C51 etc. when used with suitable programming hardware. This software supports many programmer types of programmers which connect to PC parallel port and some popular serial port devices (JDM type). Rate this link
- Just Another Language (JAL) - compiler for a pascal-like high level language for the PIC 16c84/16f84 and Scenix SX18/SX28, comes with library and a few ready-to-run examples, runs on DOS command line and Linux Rate this link
- PIC16C84 C compiler for Windows 95 - free compiler with IDE for Windows 95 Rate this link
- P2C Pascal-compiler - This is a Pascal compiler for Microchip (PIC) and Scenix (SX) microcontrollers. It works under MS Windows 95/98/ME/NT/2000/XP and has a built-in user interface. Rate this link
- PIC16C84 Compiler - compiler translates the SIL program into PIC16C84 assembly language, description is also available in Rate this link
- Pico-C compiler for PIC16C84 processor Rate this link
- Posit 1.0 - Multitask Microcore for PIC16C84 based systems Rate this link
- Source Code from "The Pic Source Book" by Scott Edwards - collection of assembly language routines based on the instruction set of the Basic Stamp single-board-computer (write your intended Basic applications directly to PIC assembler) Rate this link
- HI-TECH PICC Lite Compiler - Microchip's most popular PIC microcontrollers have a powerful FREE ANSI C compiler. HI-TECH PICC Lite compiler is a freeware version of HI-TECH industrial-strength PICC compiler and supports the 16F877, 16F877A, 12F675, 12F629, 16F627, 16F627A, 16F684, 16C84, 16F84 and 16F84A devices. Rate this link
- Jal : (not?) Just Another Language - Jal is a high-level language for a number of Microchip PIC (16c84, 16f84, 12c508, 12c509, 16F877) and Ubicom SX (SX18 and SX28) microcontrollers. The Jal compiler is freeware: you are free to copy and use the compiler and the documentation for whatever purpose you want, except for Jal for life-critical or weapons systems is explicitly forbidden. The Jal libraries are covered by the GNU Library General Public License, which means that you are free to distribute either these libraries or derived versions. Rate this link
Software tools
- AT89C2051 based hardware keyboard logger - This circuit records user keystroke activity to internal EEPROM memory. Simulates keyboard operation for data retrieving. Schematics, 8051 source code and PC application for data download are provided. Rate this link
- 8051 Derivative Microcontrollers Rate this link
- 8051 High-Speed Drop-Ins from Maxim Integrated Products Rate this link
- 8051 microcontroller FAQ Rate this link
- 8051/8052 Microcontroller Tutorials Rate this link
- 8052 BASIC Project - includes IDE interface Rate this link
- 8052.COM - The 8052 Online Resource, information regarding the 8052, related products, and 8052 derivative chips Rate this link
- 8052 Instruction Set Rate this link
- as31 - This is an old version of an assembler for 8032 and 8052 microprocessors, for Linux and MS-DOS, includes source code in C Rate this link
- AS31 Assembler & SDCC C Compiler -AS31 is a free 8051 assembler originally written by Ken Stauffer. Versions of AS31 found here include important bug fixes and added features, such as standard intel-hex output format for use with PAULMON2 and EPROM programmers. AS31 is a good tool for building small 8051-based projects that are written in 100% 8051 assembly language. SDCC is a free C compiler for small devices. Rate this link
- Interfacing AT89C2051 using KEIL C - how to write a simple program using C language for the AT89C2051 Rate this link
- Keil Software - Compilers for C51, C251 and C166 microcontrollers. Free demo version with limited functionality available. Rate this link
- Site d'?lectronique g?n?rale et microcontroleurs 8051x - theory, circuits, tips and projects, EEPROM programmer and LCD interfacing, text in French Rate this link
- SDCC - SDCC is a Freeware , retargettable, optimizing ANSI - C compiler. The current version targets the Intel 8051 and the Zilog Z80 based MCUs. Work is in progress on supporting also other microprocessors. Rate this link
- The Melody Playing routine for MCS-51 - simple and small music playback routine for AT89C2051 and other 8051 compatible microcontrollers Rate this link
- The Official 8051 microcontroller FAQ - This article is a collection of information sources on the Intel 8051 family of microcontrollers (and variants). Rate this link
- Tutorial: Introduction to LCD Programming with 8051 Rate this link
- Use 8051's power-down mode to the fullest - the 8051 series ?Cs offer idle and power-down modes, both of which you invoke by setting appropriate control bits from the code Rate this link
- An 80C31-Controlled Power Supply - In this article, Noel introduces us to a 80C31-controlled power supply, which is a circuit that enables you to monitor and alter voltage and current levels. Rate this link
- SDCC - Small Device C Compiler - SDCC is a Freeware, retargettable, optimizing ANSI - C compiler that targets the Intel 8051, Maxim 80DS390 and the Zilog Z80 based MCUs. Work is in progress on supporting the Motorola 68HC08 as well as Microchip PIC16 and PIC18 series. The entire source code for the compiler is distributed under GPL. SDCC also comes with the source level debugger SDCDB. SDCC is constantly being updated. Rate this link
- 80186 timer pins provide general I/O - Intel 80186 is a highly integrated mP common in embedded applications. It combines 15 to 20 common iAPX86 system components, such as a DMA controller, an interrupt controller, timers, a clock generator, a bus interface, and chip-select logic on one chip. Unfortunately, unlike many mCs, it provides no general-purpose I/O pins. However, if you require only a couple of input or latched-output lines, you can use the built-in timer I/O pins as general-purpose input or output lines by using this programming method. Rate this link
- Intel processsor secrets - Intel documents, undocumented Pentium and protected mode Rate this link
- The 8086 was the first processor in the x86 family launched in mid 1978. All future members are backwards compatible with it. It used 16-bit registers and a 16-bit data bus with 20-bit addressing and had a clock speed of 5MHz. The addressing is designed in such way that the memory is visible in blocks of 64 kilobytes and the whole memory space is one megabyte. In PC hardware 640 kilobytes was allocated to memory on motherboard and rest of memory addresses were allocated for use with extension cards (for example the suplay cards and memory extension cards).
- The 8088 was launched at 1979. It was identical to the 8086 except for its restricted 8-bit external data bus (like the 8086, 16-bits were used internally). The smaller data bus allowed the chip itself to be cheaper but also the hardware attached to it could be simpler making it the chip of choice for IBM when they hastily put together the PC in response to the rapidly growing personal computing market. The megabyte memory space was allocated in PC hardware in such way that 640 kilobytes was allocated to memory on motherboard and rest of memory addresses were allocated for use with extension cards (for example the suplay cards and memory extension cards).
- The 286 was backwards compatible with the 8086 and quickly became the standard for PCs. It introduced a layer of memory abstraction called protected mode which used the segment register as pointing to descriptor tables. These descriptor tables allow for 24-bit pointers to memory, upping physical memory to a possible 16 megabytes.
- The 386 was released in 1985. It was basically 286 system extended to use a 32-bit data bus, a 32-bit address bus, 32-bit registers, and a 32-bit internal architecture. 32-bit operating systems were not available for some time, so so it had to be able to run 16-bit programs efficiently. so it had to be able to run 16-bit programs efficiently. Even with 32-bit operating systems, legacy 16-bit code needs to be able to run in a multi-tasking environment so the 386 featured virtual-8086 mode to run under the normal protected mode and which emulates the 16-bit environment. The processor also introduced paging - the basis for advanced virtual memory.
- At 1989 Intel released 486. The 486 processor has floating point unit as part of the main chip (with earlier CPUs there was separate math co-processor available). The pipelining introduced in the 386 was extended in the 486 so that up to 5 instructions could be processed at any one time. Also support for a first level on board memory cache was added. The result was that for the first time Intel processors could perform (on average) one instruction per clock cycle.
- Next processor step was Pentium (a name which can be trademarked was selected instead of number). For programmers however the Pentium introduced something of a challenge - superscaling. Rather than a simple fetch-decode-execute cycle, a superscalar processor has additional steps: fetch two instructions, decode both instructions, execute first instruction, if the second instruction doesn't depend on the first - execute it. In theory the Pentium can do an average of 2 instructions per clock cycle.
- Three years later Intel added around 50 extra instructions and a few extra registers to the Pentium dedicated to speeding up the processing of multimedia data such as images, video and sound (also data compression) and marketed it as MMX (which may or may not have stood for Multimedia Extentions).
- The P6 standard is a three way superscalar pipelined architecture. Besides the buzzword compliance this means it can do the superscaling done by the original Pentium but with 3 instructions instead of two. This places a further burden on the programmer.
- The Pentium 2 added the MMX extentions to the P6 architecture. It was released in 3 versions, the Pentium 2, the Celeron with less second level cache (making it slow), and the Xeon with 2 megabytes of second level cache plus support for may processors on one computer (two, four or eight processor computer).
- The Pentium 4 uses a new internal architecture marketed as NetBurst. It contained faster ALU, a new cache system, even more pipelining, and more MMX/SSE extentions. Pentium 4 is an an expensive and power hungry processor.
- SiS55x Family - The chip inculding PII level CPU(200/250MHz), 2D graphic with VGA output, PCI 2.2bus, ATA-100 bus, ISA ROM bus for BIOS/DOC, PC133 memory bus, LPC bus, keyboard/mouse bus, USB 1.1, AC97 audio controllor, GPIO, CIR, printer port. Rate this link
- 2048 Bytes of EEPROM(non-volatile)
- Clock speed of 20 MHz.
- Holds 600 lines of code in EEPROM
- executes an average of 4000 instructions/sec
- 32 Bytes of Ram(16 of it for variable storage)
- 16 I/O pins, plus two synchronous serial pins
- Programmable with a PC/Mac through a serial connection with PBasic.
- A Simple And Free ADC for your Microcontroller - For this this project you can either choose to use the MAX186 or the MAX187. The code examples for this article are for Basic Stamp II. Rate this link
- BASIC Commands for the BASIC Stamp and BS1-IC Rate this link
- Basic Stamp FAQs - in pdf format Rate this link
- BASIC Stamp I and Stamp II Conversions - BASIC Stamp I and BASIC Stamp II have many differences in both hardware and software Rate this link
- BS1 Emulator Lite - free Basic Stamp emulator for Windows from Rate this link
- DIY MIDI Controllers using PIC Microcontrollers and Basic Stamps Rate this link
- High Tech Horizon's BASIC Stamp II files Rate this link
- List of Stamp Applications (L.O.S.A) - Basic Stamp information and links to PIC project documents, also in Rate this link
- MIDI out program for BASIC Stamp II Rate this link
- Stamps in Class Program - collection of curriculum, hardware, and educational ideas about using the BASIC Stamp to teach electronics, microcontroller interfacing, robotics, physics, and interactive art Rate this link
- Top 10 Stamp Tips Rate this link
- Parallax Inc. - manufacturer of Basic Stamp microcontrollers Rate this link
- Basic Stamp 2 Tutorial and Applications Rate this link
- Basic Stamp FAQs Rate this link
- Shaun's Basic Stamp II Projects - this web page descrubes many projects built using Basic Stamp II microcontroller Rate this link
- The Basic Stamp - an Overview Rate this link
- Main timer system comprises of a single 16 bit counter clocked at the E clock (2,3,or 4 Mhz - there is a programmable prescaler to slow it down is required). From this single counter run a number of input capture and output compare registers
- The A-D Convertor on ICs that have it is typically 8 channel 8 bit A/D (although the G5 has a 10 bit A/D)
- Serial Communications Interface (SCI) supports data format 1 Start, 8 or 9 data, and one stop bit at 150 - 312500 Baud data rate.
- Serial Peripheral Interface (SPI) comprises CLK, DATA IN, DATA OUT and optionally chip selects. As well as using specific SPI devices, it is very easy to expand IO using the SPI and standard logic devices (e.g. 74HC595 and 74HC165).
- m68hc11 Discussion Group
- 68HC11E1 Microcontroller Rate this link
- 68HC11 Application Notes Rate this link
- 68HC11 Information - Page intend to make available information to aid in the development of 68HC11 microcontroller systems. Rate this link
- 68hc11 microcontroller FAQ Rate this link
- 68hc11 microcontroller FAQ Rate this link
- 68HC11 Schematic in Bootstrap-Mode - useful as test platform where software is loaded through serial port connection Rate this link
- ASM11 - DOS-based command-line MC68HC11 cross-assembler Rate this link
- Caller ID Display Service - caller ID decoder based on 68HC11, text in French Rate this link
- GNU Development Chain for 68HC11 and 68HC12 - This site describes the GNU Development chain for the Motorola 68HC11 & 68HC12 microcontrollers. The cross compiler works on any host supported by GNU tools (Solaris, GNU/Linux, HP/UX, Windows,...). Rate this link
- Le 68HC11 de MOTOROLA - Dedicated 68HC11 site in French Rate this link
- Microcontroller provides timer function - This 68HC11 based circuit is a ?C-based programmable timer with two output channels. Rate this link
- Motorola 680X/6811 cross assemblers for Unix/Linux Rate this link
- Motorola 68HC11 Freeware FTP Rate this link
- Motorola 68HC11 Microcontroller - technial reference and free simulator Rate this link
- Nic.funet.fi 68HC11 archive - useful 68HC11 programming tools Rate this link
- Orgler electronic applications with microcontroller 68HC11 and 68HC811 - circuit diagrams for bootstrap-mode and expanded mode operation, CAN bus interfacing circuit, using Flash memory with 68HC11, ultrasonic circuit and software for 68HC11 programming Rate this link
- Simple Real-Time-Java for 68HC11 - The simple Real-Time-Java for the small embedded and consumer devices is a clean room implementation of the Java Virtual Machine that has been specifically designed to run on devices with the small amount of system memory (from as low as 48KB). Rate this link
- The Handy Board - The Handy Board is a 68HC11-based controller board designed for experimental mobile robotics work. MIT has licensed the Handy Board design at no charge for educational, research, and industrial use. Rate this link
- m68hc11 Discussion Group at EmbeddedRelated.com - Technical discussions about Freescale Microcontrollers: M68HC11. (Freescale Semiconductor is a Subsidiary of Motorola) Rate this link
- 68hc11 microcontroller FAQ Rate this link
- 6502 pages - The 6502 was a very popular 8-bit microprocessor in the late 70's and 80's. The 6502 (and it's variants) where used in many game system and computers like the Apple II, Atari VCS, Atari 800, C64, NES and others. This page contains a compilation of links, programs, and information on the 6502. Rate this link
- cc65 - the 6502 C compiler Rate this link
- Motorola 68XX Assembler - modified the Motorola DOS freeware assembler so that it works on UNIX environments, supports 6800, 6801, 6804, 6805, 6809, and 68HC11 Rate this link
- Power PC FAQ by Motorola Rate this link
- Just Another Language (JAL) - compiler for a pascal-like high level language for the PIC 16c84/16f84 and Scenix SX18/SX28, comes with library and a few ready-to-run examples, runs on DOS command line and Linux Rate this link
- Ubicom Rate this link
- ST6 FAQ Homepage Rate this link
- ST6web - discussion forum about ST6 and other micros Rate this link
- ARM Ltd. Homepage Rate this link
- Introduction to Embedded Processors - Slide set with ARM processor information Rate this link
- The ARM9 Family - High Performance Microprocessors for Embedded Applications Rate this link
- 1993 G1: MPC 601 (50-120 MHz), hybrid of POWER & PowerPC Specs, bus interface based on Motorola 88000
- 1995-97 G2: MPC 604/604e (100-180/166-350 MHz), 1.5x performance of 601 at same speed ; MPC 603/603e (66-80/100-300 MHz) cheap, low-power, pure PowerPC, basis for all future embedded Moto PPC chips
- 1997-2003 G3: MPC/IBM 740/750 (200-300/200-466 MHz), derived from 603 ; IBM 750CX/CXe (350-550/400-700 MHz) ; IBM 750FX (600-1000 MHz)
- 1999-2003 G4: MPC 7400 (350-500 MHz), SIMD (AltiVec 128bit VPU), 64bit ALU, SMP support, Maxbus, up to 2MB external L2 cache ; MPC 7450/7455 (533-867/800-1425 MHz), 3+1ALU, 1FPU, 256K L2 cache on-chip, external L3 cache
- 2003 G5: IBM 970 (1.6-2 GHz), 64bit data, 48bit adresses (4TB), native 32bit compatibility, 1 GHz bidirectional 64bit DDR bus, 8GB/sec bandwith, Derived from the IBM POWER4, SIMD added, single-core, lower power, smaller die
- Linux for PowerPC Embedded Systems HOWTO - These instructions are intended for developers who wish to build kernels and/or application on an x86 Linux platform targeted for a PPC Linux platform. Often this is desirable if one has a faster x86 host system or the target environment is not practical to host a development environment. Rate this link
- G5 Revealed: Introduction to the PowerPC 970 Rate this link
- Introduction to assembly on the PowerPC - Assembly language is not widely known among the programming community these days, and PowerPC assembly is even more exotic. Rate this link
- PowerPC Microprocessor Family: The Programming Environments for 32-Bit Microprocessors - The primary objective of this manual is to help programmers provide software that is compatible across the family of 32-bit PowerPC processors. Rate this link
- Programmer's Introduction to PowerPC - ion-line course material Rate this link
- 89 Series: ATMEL 89 Series Flash Microcontrollers are microcontrollers based on 8051 microcontroller architecture and Flash memory.
- AVR Series: AVR-Single-Chip-Processors AT90Sxxxx are excellent for homebrewing every kind of processor-driven electronics. AVR controllers have typically few kilobytes of memory (1-8 typically), UART and SPI interface.
- TinyAVR Series: The tinyAVR? Flash-based microcontroller family is priced at less than a dollar in high volume, and offers an unrivaled combination of price, performance and flexibility. The available memory is typically 1-2 kilobytes.
- ATMega Series: This is a powerful microcontroller with lots of on-chip memory (16-128 kilobytes). ATmega series controllers typically have JTAG and SPI interfaces.
- avrclub Discussion Group
- AirBorn Electronics Circuit Design Library - microcontroller circuits based on AT89C2051 Rate this link
- Atmel-AVR Microcontroller-Programming - information to get started Rate this link
- AVR Embedded Microcontroller Resources - very good AVR link page Rate this link
- AVRfreaks.net - Atmel AVR processor technical forum Rate this link
- WinAVR - WinAVR is a port of the well known Gnu compiler for AVR microcontrollers. WinAVR is the same thing as AVR GCC that is referenced on other sites. It contains the same GCC compiler for the AVR target. WinAVR is comprised of many open source projects. Rate this link
- DonTronics Atmel page - lots of Atmel resources Rate this link
- Interfacing AT89C20051 using KEIL C - how to write a simple program using C language for the AT89C2051 Rate this link
- Interfacing AT90S2313 using IMAGECRAFT AVR C Rate this link
- avrclub Discussion Group at EmbeddedRelated.com - Atmel AVR Microcontroller discussion group Rate this link
General
- Easy-Downloader for ATMEL 89C2051/4051 - free schematic and software for building your own a device for writing intel-HEX file to the AT89C2051 and AT89C4051 Rate this link
- Flash Microcontroller Programmer - This circuit programs the popular ATMEL 20 pin flash microcontrollers. The device is connected to the parallel port and is operated from the Assembler & Programmer software. Rate this link
- Flash Microcontroller Programmer II - This new circuit programms the ATMEL 40 pin flash microcontrollersl. The device is connected to the parallel port and is operated from the Assembler & Programmer software. Rate this link
- PC printer port programs AT89C51 - simple PC printer-port interface programmer can program an Atmel AT89C51 flash-based microcontroller Rate this link
Programmers
- Alberto Ricci Bitti - Award-winning electronics designs based on AVR AT90S1200 and PIC Microcontrollers Rate this link
- A serial to parallel converter using the AT89C2051 - This is a basic serial to parallel converter written in 8051 assembler. This is probably a good example of the uses to which an AT89C2051 can be put - it would be hard to get a serial to parallel converter much simpler than the single 20 pin IC in this circuit. The program is meant to serve as a useful example of 8051 serial routines and other programming, whether or not you actually need a serial to parallel converter. Rate this link
- Atmel AVR Microcontroller Projects - This site is dedicated to my AVR ATMEL microcontroller projects. Here you will find schematics and board-layouts in Eagle 4.01 format, also the program-code, part-lists and pictures of the projects. At the moment there are five projects: LCD interface, running LED light a digital LCD thermometer a LED thermometer and a stepper motor driver. Rate this link
- C-52 EValuation Board - a low-cost learning board C-52 EVB for studying Assembly and C language programing Rate this link
- Electronic circuits, based on AVR microcontrollers - On this site, you will find many circuits based on AVR microcontrollers from Atmel. The purpose of this site is to learn all of you, that you want to follow the technology of electronics, to work with this litle powerful things that called microcontrollers. Circuits like, universal USB interface with AT90S2313, SMS remote control, programable LCD counter with memory backup, telecard reader, 128x64 dot-matrix lcd driver, RCEN fuse bit programmer and more. This Web site contain AVR forum with Greek and English sections. Rate this link
- HSETI PCB - small simple application for the Atmel AT89C2051 microprocessor Rate this link
- Kierroslukumittari -This is a car motor speed meter using AT89C1051. The description text is in Finnish. Rate this link
- Micro based PIR to IR remote converter - an automatic system which starts the VCR recording and stops four minutes after the last PIR event Rate this link
- Video DVM - digital multimeter circuit with video output Rate this link
Circuits
- AVR Mini Threads: a nanoKernel for the AT90S1200 - A powerful way to do a cooperative multitasking with the AVR AT90S1200. You can do a "wait" to go sleep and wait for a signal, or send a signal to wake up another thread. Rate this link
Software
- Official Support-Page: Hardware - Software - Utilities - FAQ - Docs for Z80-Family Rate this link
- SDCC - SDCC is a Freeware , retargettable, optimizing ANSI - C compiler. The current version targets the Intel 8051 and the Zilog Z80 based MCUs. Work is in progress on supporting also other microprocessors. Rate this link
- Zilog Z80 8-Bit Microprocessor - The Z80 microprocessor is an 8 bit CPU with a 16 bit address bus capable of direct access of 64k of memory space. It has a language of 252 root instructions and with the reserved 4 bytes as prefixes, acceses an additional 308 instructions. The Z80 was modeled after the 8088 and contains the 78 - 8088 opcodes as a subset to it's language. Rate this link
- Zilog Z80 - From Wikipedia, the free encyclopedia Rate this link
- Are these Flash memory microcontroller I.C.s the New Millenium 555 ? - site promoting the bubble gum cheap ( US $2 !) high level PICAXE microcontrollers Rate this link
- www.picaxe.co.uk - The official PICAXE microcontroller home page Rate this link
- www.picaxe.com - The official PICAXE microcontroller home page Rate this link
- rabbit-semi Discussion Group
- Rabbit Developer Resources - This page is provided as a service to the Rabbit developer community. Rate this link
- Rabbit Semiconductor - The Rabbit company web site Rate this link
- rabbit-semi Discussion Group - This is a group for folks designing and programming embedded systems using the Rabbit Semiconductor C-programmable microcontroller. Rate this link
Microcontrollers
Microcontroller is a computer on a chip that is programmed to perform almost any control, sequencing, monitoring and display function. Because of its relatively low cost, it is a natural choice for design. It performs many of the functions traditionally done by simple logic circuitry, requential control circuits, timers or a small microcomputer.
PIC
PIC microcontrollers from Microchip are very popular microcontrollers. PICs are easily programmable cheap microcontrollers. PIC is the name for the Microchip microcontroller (MCU) family, consisting of a microprocessor, I/O ports, timer(s) and other internal, integrated hardware. The main advantages are low external part count, a wide range of chip sizes (from 8-pin up), great availability of compilers and source code and easy programming. Flash-type devices are reprogrammable in-circuit, while OTP versions are very cheap to use at the final stage. A wide range of simple programmer hardware and software is downloadable from the net. PIC16F84 seems to be the "standard" for small gadgets you see in the web projects. If you are a beginner with PICs, a PIC 16F84A or 16F628 device is a good choice to start with. With a PIC microcontroller you can do things that would be difficult to do with discrete logic. Besides its power, you can easily "change your mind" with a microcontroller. The PIC isn't for every project. It won't replace a PC, or even a larger processor. But for many jobs it is just the right size, inexpensive, and doesn't require much in the way of support hardware. Many electronics hobbyist have used PICs because they are quite easy to start with and easy to get. There are many different varieties of PICs that run at many frequencies. There are many versions, because in hardware design you may need a certain combination of features and this will dictate what PIC you select. For a beginner there is really only two choices:The most commonly used PIC controller within electronics hobbyists seems to be PIC 16F84A (the most popular starter PIC, 18 pin IC). PIC 16F87x is few dollars more expensive version that had a plethora of features including analog to digital converters, a UART, and more. PIC 16F87x comes in 40 or 28 pin case depending on chip version. PICs are also used on some commercial devices. Here is where the dive variety of versions come to the use. There are several steps you need to take to get started: Select a PIC, assemble the tools you need (software and programmer) and learn to program. If you want a good learning experience, you can download a free simulation environment from Microchip and practice programming without spending any money or buying any chips at all. When you have some real application, then you can buy the chips you need. There are many different varieties of PICs that run at many frequencies.
This compares some PICs that can be interesting:
chip | package | I/O | code | data | EEPROM | peripherals | MIPS | US$ | remarks |
---|---|---|---|---|---|---|---|---|---|
12C509 | sdip 8 | 6 | 1k | 41 | - | osc | 1 | 1.80 | OTP |
12F629 | sdip 8 | 6 | 1k | 64 | 128 | osc | 5 | 1.60 | cheap |
12F675 | sdip 8 | 6 | 1k | 64 | 128 | a/d, osc | 5 | 1.90 | |
16C84 | sdip 18 | 13 | 1k | 38 | 64 | - | 2.5 | - | discontinued |
16F84 | sdip 18 | 13 | 1k | 68 | 64 | 6.00 | 2.5 | - | obsolete |
16F84A | sdip 18 | 13 | 1k | 38 | 64 | - | 5 | 4.70 | obsolete |
16F628 | sdip 18 | 16 | 2k | 224 | 128 | d/a, uart, osc | 5 | 3.50 | good choice |
16F870 | sdip 28 | 22 | 2k | 128 | 64 | a/d, uart | 5 | 5.00 | |
16F871 | wdip 40 | 33 | 2k | 128 | 64 | a/d, uart | 5 | 5.90 | |
16F872 | sdip 28 | 22 | 2k | 128 | 64 | a/d, mssp | 5 | 4.00 | |
16F873 | sdip 28 | 22 | 4k | 192 | 128 | a/d, uart | 5 | 7.00 | |
16F874 | wdip 40 | 33 | 4k | 192 | 128 | a/d, uart | 5 | 7.50 | |
16F876 | sdip 28 | 22 | 8k | 368 | 256 | a/d, mssp | 5 | 8.20 | |
16F877 | wdip 40 | 33 | 8k | 368 | 256 | a/d, mssp | 5 | 9.50 | good choice |
18F242 | sdip 28 | 34 | 8k | 512 | 256 | a/d, mssp | 10 | 8.30 | |
18F252 | sdip 28 | 34 | 16k | 1536 | 256 | a/d, mssp | 10 | 9.00 | |
18F442 | wdip 40 | 34 | 8k | 512 | 256 | a/d, mssp | 10 | 9.00 | |
18F452 | wdip 40 | 34 | 16k | 1536 | 256 | a/d, mssp | 10 | 10.00 | good choice |
SX18 | sdip 20 | 12 | 2k | 136 | - | osc | 50 | 4.00 | discontinued |
SX28 | sdip 28 | 20 | 2k | 136 | - | osc | 50/75 | 4.40 | |
SX48 | TQFP 48 | 36 | 4k | 262 | - | osc | 50 | 7.40 | no DIP |
SX52 | PQFP 52 | 40 | 4k | 262 | - | osc | 50 | 7.40 | no DIP |
The prices are just here to get an idea of relative prices of different models. The actual price you need to pay for your microcontroller depends on the source you buy it from and how many of them you buy. If you are bying one single IC, the price can be considerably higher than what is listed.
Here is quick view to Microchip PIC numbering:
The Microcontroller types statring with SX are PIC clones made by Scenix. The SX PIC clones are interesting because they provide MUCH more computing power than the Microchip PICs. On the downside the SX'es do not provide much peripherals (only a comparator and a timer).
PIC has a number of clock options. For most PICs the options are:
PIC 16F84 is a simple and traditional microcontroller to start programming PICs. It is easy to learn, but does not offer manu features and is nowadays classified as obsolete (still available from electronics component shops, but maybe not for very long time).
PIC16F628 is more modern PIC microcontroller that can be put in place of PIC16F84, because of compatible pinout. Programming is similar, expect that PIC16F628 double the amount of memory compared to PIC16F84. 16F628 provides a clock option where one external resistor, which carries only DC, determines the clock frequency.
PIC12F675 is a very simple PIC microcontroller in 8 pin case. Both PIC16F628 and PIC12F675 have internal reset circuitry and internal clock resonator, so they can be used without any external components.
There are nowadays many tools for making programs for PICs. Microchip provides MPLAB, a free assembler programming environment. Even when you do not want to use assembler you should get MPLAB, if only for the build-in simulator. Various companies sell C compilers for PICs. High-Tech C provides PICC-Lite, a free demo version of their compiler. PICC-Lite targets an number of 16F chips, some with limitations. BKD provides a free demo version for their CC5X, which can generate up to 1K instructions for all PIC types. There are also compilers for other languages (for example JAL).
Intel microcontrollers
8051/8052
The 8051 is an 8 bit microcontroller originally developed by Intel in 1980. It is the world's most popular microcontroller core, made by many independent manufacturers. A typical 8051 contains CPU with boolean processor, 5 or 6 interrupts, 2 or 3 16-bit timer/counters, programmable full-duplex serial port, 32 I/O lines, RAM and ROM/EPROM in some models. The 8051 architecture is quite strange and original. One strong point of the 8051 is the way it handles interrupts. Vectoring to fixed 8-byte areas is convenient and efficient.The 8051 instruction set is optimized for the one-bit operations so often desired in real-world, real-time control applications. The 8051 has the widest range of variants of any embedded controller on the market. The smallest device is the Atmel 89c1051, a 20 Pin FLASH variant with 2 timers, UART, 20mA. The most powerful chip is the Infineon Technologies 80C517A, with 32 Bit ALU, 2 UARTS, 2K RAM, PLCC84 package, 8 x 16 Bit PWMs, and other features.
There are also other similar microcontrollers around. 80C31 microcontroller is the version of the 80C51 without ROM. The 80C31 is a widely available (it?s produced by several manufacturers). The 80C31 has 128 bytes of RAM, two external interrupt pins, two timer/counters, and serial ports. It has 32 I/O pins, but doesn?t have ROM, so some of the ports (namely ports 0 and 2) are used for the address bus and data bus. The 80C31 is a high-quality microcontroller for embedded design considering its instruction set and price. Atmel AT89C2051 microprocessor is a quite widely used a 20 pin 8051 variant, with FLASH (reprogrammable) program memory.
80186
Intel 80186 is a highly integrated microprocessor common in embedded applications. It combines 15 to 20 common iAPX86 system components, such as a DMA controller, an interrupt controller, timers, a clock generator, a bus interface, and chip-select logic on one chip. Unfortunately, unlike many microcontrollers, it provides no general-purpose I/O pins.
80x86
x86 processors
The x86-compatible family is (with a few exceptions that we can safely ignore) only employed as part of a more or less wholly PC-compatible hardware architecture. The main manufacturers are Intel and AMD.
The modern x86 processors are large and extremely energy-hungry; active cooling is almost universally required in x86 designs, and mains power is preferable. The dominant design factor steering x86-based designs is the baggage required by backwards compatibility (both in the CPU core and other support circuitry on the motherboard).
The architecture of modern 32-bit x86 processors is called the IA-32 architecture.
Vast effort has been invested to modernize the CPU and overall system architecture. Both Intel and AMD have been active on this. Even the current 64-bit architectures are constrained to some degree by legacy considerations.
Here is a short x86 processor history by Intel:
There are also other players on the x86 field. The most important is AMD. After years of producing x86 clones later, slower and usually not much cheaper than Intel, AMD has gained the upper hand with Athlon processor. Athlon processor has successfully solved most of the bottlenecks of the P6 design and is proving to be much more scalable with speeds in excess of 1GHz on the market.
Another player on the field is VIA. While AMD have been busy improving their processors, VIA have re-released the Cyrix brand with a completely new internal architecture. Taking the fact that 90% of the instructions executed are only 10% of the total IA-32 instruction set, VIA has designed the chip to perform these instructions extremely fast and the rest of the instruction set as micro-code - implementing them using several of the optimised instructions. The result is a low power chip that performs much faster than rivals of a similar clock speed.
Transmeta has taken a radical new approach with their Crusoe chip. It uses a completely new and non IA-32 architecture designed to be very low power for portable computers. x86 compatibility is achieved by using a software emulator on the chip, similar to the JIT compilers used for Java bytecode. Compared to the power consumption used by it's rivals this was once seemed as a very promising chip for notebooks, but has not gained too big market share.
While most consumers simply see the annual upping of clock speed, a great deal of research and design has been put into the long development of IA-32 chips. The future is quite unpredictable with a new 64 bit architecture from Intel and a 64 bit extention to IA-32 from AMD it is far from clear.
Companies making x86 processors
x86 SoC solutions
There are relatively few true SoC offerings based around an x86-compatible core, and thus significant external circuitry is always required in x86 systems. And those few that exist generally lack on-chip JTAG or other hardware debugging interface support.
Basic stamp
A Basic Stamp is an easy-to-use microcontroller system made by Parallax. The Basic Stamp is a small computer that are programed with Parallax Basic(PBASIC) programs. The Stamp contains a microcontroller, memory, a clock, and a voltage regulator in a package that resembles an integrated circuit. All you need is a PC to program it and a 9V battery or other power supply. Basic stamp has a fully programmable I/O pins that can be used to directly interface to LEDs, TTL devices, speakers, servos,and many more things.
Basic Stamp a small single board computer that runs BASIC programs. At first glance the STAMP may seem fairly minimal and in fact, it is. But with software that fully utilizes all available hardware, the stamp gives you powerful features without the cost of hardware. It is low cost and simplicity make the stamp perfect for many prototyping and control applications. The brain of the stamp is an 18 pin BASIC interpreter chip. A 256 byte EEPROM holds a tokenized version of your program, which is read and executed by the interpreter.
The stamp is programmed using simple BASIC language. The language includes familiar instructions, such as GOTO, FOR...NEXT, and IF...THEN, as well as SBC instructions such as SERIN (serial input) PWM, and BUTTON. Each instruction takes 2-3 bytes of EEPROM space, resulting in a maximum program size of 80-100 instructions. Programs are executed at the rate of about 2000 instructions per second.
Here is some data on more powerful Basic Stamp II system:
To write software for the stamp, you'll need the Programming package. The package contains our editor software, programming cable, manual, application notes, and access to free technical support. The cable connects the stamp to your PC parallel port for programming and debugging.
Motorola microcontrollers
68HC11
The 68hc11 is a powerful 8-bit data, 16-bit address microcontroller from Motorola with an instruction set that is similar to the older 68xx (6801, 6805, 6809) parts.
There are several different varieties of 68HC11 microcontroller. Depending on the variety, the 68hc11 has built-in EEPROM/OTPROM, RAM, digital I/O, timers, A/D converter, PWM generator, and synchronous and ansynchronous communications channels (RS232 and SPI). This is a general overview of those subsystems:
Typical current draw of 68HC11 system is less than 10mA.
Other
Scenix microcontrollers
Scenix is known for making high performance PIC microcontroller clones. The SX PIC clones are interesting because they provide much more computing power than the Microchip PICs but are programmed using the same commands. On the downside the SX'es do not provide much peripherals (only a comparator and a timer). Scenix is now known as Ubicom.
SGS-Thomson microcontrollers
ARM
ARM is the industry's leading provider of 16/32-bit embedded RISC microprocessor solutions used in embedded applications. The company licenses its high-performance, low- cost, power-efficient RISC processors, peripherals and system-on-chip (SoC) designs to leading international electronics companies. ARM designs CPUs, peripherals and chips which are licensed to semiconductor partners for manufacture, supply and support, either in SoCs or standard parts. ARM does not manufacture silicon. ARM processors are frequently used in devices like PDAs, cellular phones and networking devices. Typical operating ystems used in those devices are Linux, PalmOS, SymbianOS and WindowsCE. ARMxTDMI is a general-purpose RISC architecture, but it is frequently used in applications demanding low-to-moderate DSP performance. ARM's inclusion of enhanced DSP functionality with the ARM9E is in response to growing customer demand for greater signal processing capabilities from ARM cores. Adding DSP functionality to an embedded general-purpose processor can potentially eliminate the need for a separate DSP.
PowerPC
PowerPC architecture is an example of a RISC (Reduced Instruction Set Computing) architecture. PowerPC fits well into Apple's and IBM's philosophy of building ever faster machines at affordable prices, maintaining upward compatibility, and designing different systems for different users. The PowerPC processor supports these goals in two ways: improved performance relative to comparable CISC processors and carefully defined Virtual Architecture. IBM POWER Architecture name comes from Performance Optimization With Enhanced RISC.The PowerPC Architecture Specification, released in 1993, is a 64-bit specification with a 32-bit subset. Almost all PowerPCs generally available are 32-bit. PowerPC processors have a wide range of implementations, from high-end server CPUs such as the Power4 to the embedded CPU market (the Nintendo Gamecube uses a PowerPC). PowerPC processors have a strong embedded presence because of good performance, low power consumption, and low heat dissipation. The embedded processors, in addition to integrated I/O like serial and ethernet controllers, can be significantly different from the "desktop" CPUs. For example, the 4xx series PowerPC processors lack floating point, and also use a software-controlled TLB for memory management rather than the inverted pagetable found in desktop chips. There are several POWER / PowerPC processor families:
Atmel microcontrollers
Atmel manufactures three families of microcontrollers: the popular 8051, the AT91 which is an ARM Thumb, and the Atmel AVR 8-bit RISC devices. Flash varieties are available. Wide development tools support is available for the 8051 & AT91; support for the AVR is building.
Atmel has several microcontroller families:
For many processors assembly has to be lerned in order to program these devices. For several controller models there is also C compiler available.
Hitachi
Hitachi Semiconductor is nowadays known as Renesas Technology. A joint merger of Hitachi and Mitsubishi product lines, Renesas boasts an impressive array of semiconductor products. A broad-range manufacturer of semiconductors including microcontrollers, discretes, Flash, SRAM. 4-bit thru 32-bit cores.The #1 supplier of microcontrollers worldwide. Good development tool support. The combined microcontroller product portfolio includes the H8, SuperH, M16C, M32R, 7600 series, and much more.
Zilog
ZiLOG provides of 8-bit Flash microcontroller solutions. ZiLOG, a design solutions company specializing in embedded and integrated circuits, is an innovator in the development, design, and manufacturing of application specific standard products (ASSPs) for the data communication, peripherals, and consumer product markets.
The Zilog Z80 is an 8-bit microprocessor designed and manufactured by Zilog from 1976 onwards. It was widely used both in desktop and embedded computer designs, and is one of the most popular CPUs of all time. The Z80 microprocessor is an 8 bit CPU with a 16 bit address bus capable of direct access of 64k of memory space. It has a language of 252 root instructions and with the reserved 4 bytes as prefixes, acceses an additional 308 instructions. The Z80 was modeled after the 8088 and contains the 78 - 8088 opcodes as a subset to it's language.
Although Zilog made several attempts to move off the Z80 onto more powerful 16-bit (Zilog Z800, Zilog Z8000) and 32-bit (Zilog Z80000) platforms, other companies were offering CPUs in this performance range years earlier, and the Zilog chips never caught on.
Picaxe
PICAXE microcontrollers are exciting, low-cost, re-programmable chips that can be used as low-cost 'brains' in many kinds of electronic project. The unique feature of the PICAXE system is that programs are downloaded via a direct cable link straight into the microcontroller, so no expensive programmers or erasers are required. The software is free, and so this low cost approach also means that students can use the whole programming system at home.
Rabbit controllers
Rabbit microprocessors are high-performance, low-EMI devices designed for embedded control and communications where Ethernet connectivity is needed. Rabbit 2000 is a low-cost microprocessor designed specifically for embedded systems. Rabbit 3000 is a low EMI microprocessor designed for embedded control, communications, and Ethernet connectivity.
<[email protected]>
Back to ePanorama main page ??